using MediatR;
using RBAC.ErrorCode;
using System.Collections.Generic;

namespace RBAC.Write.Api.Application.Command.ProcessManagements
{
    /// <summary>
    /// 编辑工序（主信息 + 附件全量覆盖）
    /// </summary>
    public class UpdateProcessCommand : IRequest<APIResult<int>>
    {
        /// <summary>
        /// 工序ID
        /// </summary>
        public long Id { get; set; }
        /// <summary>
        /// 工序编码
        /// </summary>
        public string? ProcessCode { get; set; }
        /// <summary>
        /// 系统编码
        /// </summary>
        public string? SystemCode { get; set; }
        /// <summary>
        /// 工序名称
        /// </summary>
        public string? ProcessName { get; set; }
        /// <summary>
        /// 工序分类ID
        /// </summary>
        public long? ClassificationId { get; set; }
        /// <summary>
        /// 工序分类名称
        /// </summary>
        public string? ClassificationName { get; set; }
        /// <summary>
        /// 所属部门ID
        /// </summary>
        public long? DepartmentId { get; set; }
        /// <summary>
        /// 所属部门名称
        /// </summary>
        public string? DepartmentName { get; set; }
        /// <summary>
        /// 所属用户ID
        /// </summary>
        public long? OwnerUserId { get; set; }
        /// <summary>
        /// 所属用户名称
        /// </summary>
        public string? OwnerUserName { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public int Status { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }
        /// <summary>
        /// 附件
        /// </summary>
        public List<ProcessAttachmentInput>? Attachments { get; set; }
    }
}
